/*
  发送异步请求的函数模块
  封装axios库
  返回promise对象
  1、统一处理请求异常
    在外层包一个自己创建的promise对象
    在请求出错时，不reject(reson) 而是显示错误提示
*/

import axios from 'axios'
import { message } from 'antd'

export default function ajax(url, data = {}, type = 'GET') {
  return new Promise((resolve, reject) =>{
    let promise
    // 1、执行异步ajax请求
    if (type === 'GET') {
      promise = axios.get(url, { // 配置对象
        params: data , // 指定请求参数
      })
    } else {
      promise = axios.post(url, data)
    }
    // 2、如果成功了，调用resolve(value)
    promise.then(response =>{
      resolve(response)
      console.log(response.data)
    })
    // 3、如果失败啦，不调用reject(reason)，而是提示异常信息
    promise.catch(error =>{
      message.error('请求出错啦',error)
    })
  }) 
}
